﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IMessageService
    {
        [ServiceKnownType(typeof(MessageCommandQueryEntity)), OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        DataSet GetMessageCommandInfoByQueryEntity(MessageCommandQueryEntity messageCommandQuery, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        DataSet GetMessageCommandInfoBySqlWhere(List<string> sqlWhere, MessageCommandQueryEntity messageCommandQuery, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(MessageCommandQueryEntity)), ServiceKnownType(typeof(PubParasInfo))]
        List<MessageCommandInfo> GetMessageCommandInfosByQueryEntity(MessageCommandQueryEntity messageCommandQuery, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        List<MessageCommandInfo> GetMessageCommandInfosBySqlWhere(List<string> sqlWhere, MessageCommandQueryEntity messageCommandQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), OperationContract, ServiceKnownType(typeof(MessageCommandInfo))]
        string InsertMessageCommandInfo(MessageCommandInfo messageCommandInfo, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(List<MessageCommandInfo>)), OperationContract, ServiceKnownType(typeof(MessageCommandInfo))]
        bool InsertMessageCommandInfos(List<MessageCommandInfo> messageCommandInfos, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(ReceiptInfo))]
        string UpdateMessageCommandInfo(MessageCommandInfo messageCommandInfo, PubParasInfo pubParasInfo);
    }
}

